package com.delivery.www.service;

import com.delivery.www.po.Coupon;
import com.delivery.www.po.HaveCoupon;

import java.util.List;

/**
 * @author 12970
 */
public interface HaveCouponService {

    /**
     * 是否已领取
     *
     * @param couponId 优惠券id
     * @param userId   店铺id
     * @return 是否存在
     */
    HaveCoupon ifExist(int couponId, int userId);

    /**
     * 领券
     *
     * @param couponId 优惠券id
     * @param userId   用户id
     * @param storeId  店铺id
     * @param status   状态
     * @return 判断
     */
    String add(int couponId, int userId, int storeId, int status);

    /**
     * 获取用户在某店铺下的优惠券id
     *
     * @param userId  用户id
     * @param storeId 店铺id
     * @param status  是否过期
     * @return 优惠券
     */
    List<HaveCoupon> getUserCoupon(int userId, int storeId, int status);

    /**
     * 获取用户所有的优惠券
     *
     * @param userId 用户id
     * @return 优惠券
     */
    List<HaveCoupon> getCoupon(int userId);

    /**
     * 修改是否已过期
     *
     * @param coupons    优惠券列表
     * @param userCoupon 对应用户领取的优惠券列表
     * @return 是否成功
     */
    List<HaveCoupon> modifyStatusOver(List<Coupon> coupons, List<HaveCoupon> userCoupon);
}
